The present invention relates to a user interface for a relational database. More particularly, the invention is directed to an architecture and method for creating an object-oriented and user friendly interface through which a user of moderate skill in database technology can selectively extract information from a proximate or remote relational database.
The evolution of database technology both in hardware and software capability has provided users with significant memory and computational resources. Unfortunately, such resources exceed the training and experience possessed by prevailing users. As a consequence, database system designers have attempted to develop user interfaces which reduce the relative level of skill required to select information from relational databases. The classical query language for relational databases is the Structured Query Language (SQL). A contemporary and representative commercially available user interface is the Database Manager and the Query Manager code which is integrated into the OS/2 Extended Edition operating system, commercially distributed by IBM Corporation. However, as the prevalence of relational database use expands, and the level of training for a routine user decreases, the user friendly character of the human interface becomes a more important and significant contributor to the overall value of the database.
Though available and proposed user interface products include intuitive modes of operation which ease the training of novice users, such as mouse related pointing devices, icons, windows, pull-down or pop-up menus and alike, there remains a need for simplifying the interface at a higher level of architecture. Reducing the complexity of the interface at the video level of information conveyance, through such intuition based mechanisms, does not provide any user-related intelligence to the interaction by which the user defines a query and an output format for the relational database information.
Software technology is now entering into an era often referred to as object-oriented programming. In general, this form of programming provides units of code which co-mingle instructions and data, and when properly created facilitate reuse of the objects so defined. Unfortunately, most existing interfaces to relational databases are not of object oriented derivative, consequently, not amenable to evolution and migration either at the code or architectural level. The deficiencies are particularly acute at the architectural level, in that the structures of such conventional programs are not composed of transportable objects, but rather, are defined by strictly interrelated levels descending in direct hierarchy to the code lines.
Thus there exists a need for an interface between a human user and relational database having an architecture which is both object-oriented and intelligent at a high level of user interaction.